Nuprl Definition : update-antecedent 11,40

update-antecedent{i:l}(es;Cmd;Sys;Config;u)
== (e:{e:E(Sys)| csupdate?(Sys(e))} . (u(e) < e))
== & (e:{e:E(Sys)| csupdate?(Sys(e))} .
== & (((((u(e))  Sys))
== & (( (valid-sys(es;Config;Sys;u(e)) & csupdate-cmds(Sys(e)) = sys-cmds(Sys(u(e)))))
== & (& ((((u(e))  Config))
== & (& ( ((ccsucc?(Config(u(e))))
== & (& ( & ccsucc-id(Config(u(e))) = loc(e)
== & (& ( & let n = ccsucc-num(Config(u(e))) in
== & (& ( & let n(n < ||cmd-history(u(e))||) & csupdate-cmds(Sys(e)) = nth_tl(n;cmd-history(u(e))))))
== & (e1e2:{e:E(Sys)| csupdate?(Sys(e))} .
== & ((u(e1) <loc u(e2))  (loc(e1) = loc(e2))  (e1 <loc e2))
== & (e:{e:E(Sys)| csupdate?(Sys(e))} , s:E.
== & ((s <loc u(e))
== & ( ((((s  Sys)) & valid-sys(es;Config;Sys;s))  (((s  Config)) & (ccsucc?(Config(s)))))
== & ( (e':{e:E(Sys)| csupdate?(Sys(e))} . (u(e') = s))) 
latex



clarification:

update-antecedent{i:l}
update-antecedent(esCmdSysConfigu)
== (e:{e:es-E-interface(es;Sys)| csupdate?(Sys(e))} . es-causl(es; (u(e)); e))
== & (e:{e:es-E-interface(es;Sys)| csupdate?(Sys(e))} .
== & (((((u(e))  Sys))
== & (( (valid-sys(es;Config;Sys;u(e))
== & (( & csupdate-cmds(Sys(e)) = sys-cmds(Sys(u(e)))  (Cmd List)))
== & (& ((((u(e))  Config))
== & (& ( ((ccsucc?(Config(u(e))))
== & (& ( & ccsucc-id(Config(u(e))) = es-loc(ese Id
== & (& ( & let n = ccsucc-num(Config(u(e))) in
== & (& ( & let n(n < ||cmd-history{i:l}
== & (& ( & let n(n < ||cmd-history(esConfigCmdSys; (u(e)))||)
== & (& ( & let & csupdate-cmds(Sys(e))
== & (& ( & let & =
== & (& ( & let & nth_tl(n;cmd-history{i:l}(esConfigCmdSys; (u(e))))
== & (& ( & let &  (Cmd List))))
== & (e1:{e:es-E-interface(es;Sys)| csupdate?(Sys(e))} ,
== & (e2:{e:es-E-interface(es;Sys)| csupdate?(Sys(e))} .
== & (es-locl(es; (u(e1)); (u(e2)))
== & ( (es-loc(ese1) = es-loc(ese2 Id)
== & ( es-locl(ese1e2))
== & (e:{e:es-E-interface(es;Sys)| csupdate?(Sys(e))} , s:es-E(es).
== & (es-locl(ess; (u(e)))
== & ( ((((s  Sys)) & valid-sys(es;Config;Sys;s))  (((s  Config)) & (ccsucc?(Config(s)))))
== & ( (e':{e:es-E-interface(es;Sys)| csupdate?(Sys(e))} . (u(e') = s  es-E(es)))) 
latex


Definitions(e < e'), sys-cmds(x), ccsucc-id(x), let x = a in b(x), ccsucc-num(x), a < b, ||as||, type List, csupdate-cmds(x), nth_tl(n;as), cmd-history(e), Id, loc(e), x:AB(x), (e <loc e'), P  Q, P  Q, valid-sys(es;Config;Sys;e), P & Q, e  X, ccsucc?(x), x:AB(x), {x:AB(x)} , E(X), b, csupdate?(x), X(e), s = t, E, f(a)
FDL editor aliasesupdate-antecedent

origin